package com.campus.service;


import com.campus.domain.dto.LoginFormDTO;
import com.campus.domain.dto.RegisterFormDTO;
import com.campus.domain.dto.UpdateUserDTO;
import com.campus.domain.entity.User;
import com.campus.domain.vo.RegisterVO;
import com.campus.domain.vo.UserClaimVO;
import com.campus.domain.vo.UserDetailVO;
import com.campus.domain.vo.UserEnrollmentVO;
import com.campus.domain.vo.UserInfoVO;

import java.util.List;

public interface IUserService {
    /**
     * 用户注册
     */
    RegisterVO register(RegisterFormDTO registerFormDTO);
    /**
     * 用户登录
     */
    String login(LoginFormDTO loginFormDTO);
    /**
     * 获取用户信息
     */
    UserInfoVO getUserInfo();
    /**
     * 根据用户名查询用户信息
     */
    User selectByUserName(String username);

    /**
     * 查询用户按钮权限
     */
    List<String> getButtonPermission(Long id);
    
    /**
     * 获取用户详细信息
     */
    UserDetailVO getUserDetail();
    
    /**
     * 更新用户信息
     */
    void updateUserInfo(UpdateUserDTO updateUserDTO);
    
    /**
     * 获取用户报名的活动列表
     */
    List<UserEnrollmentVO> getUserEnrollments();
    
    /**
     * 获取用户申领的失物列表
     */
    List<UserClaimVO> getUserClaims();
}
